home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gigantic Games 2
/
Gigantic Games 2.iso
/
pc
/
_w_
/
world
/
readme
< prev
next >
Wrap
Text File
|
1994-12-23
|
8KB
|
196 lines
World for the Amiga version 1.02
(not called AmigaW*rld for obvious reasons...)
This is Doug McDonald's text adventure game "WORLD". See the original ReadMe
file below for a description. This version runs on any Amiga. World
requires about 100K of memory. (200K if you copy the data file to a ram disk
first, which makes for a faster game.)
To run from the workbench:
--------------------------
Only the files World, World.info and q1text.dat are required.
Q1text.dat.info is optional.
To run World, simply double click on the World icon. Q1text.dat must be in
the same directory.
Alternatively, you can double click on the q1text.dat icon. By selecting the
q1text.dat icon and choosing 'Info' from the Workbench menu, you can enter
the full path to the program World in the string gadget 'Default Tool'.
(This is initially set to 'World:World'.) This way, you can drag (copy)
q1text.dat to a ram disk, and double click on it there; World will then
operate off of the ram disk, speeding up the game considerably.
World looks for "WIN" in the tooltypes. It defaults to a 640 by 200 NEWCON:
window. To change this, click once on the World icon, select "Info" from the
menu, and change the tooltypes.
Example: "WIN=NEWCON:0/0/640/400/WORLD" uses a 640 by 400 NEWCON: window.
This is for interlaced screens only.
"WIN=CON:0/0/640/200/WORLD" uses a 640 by 200 CON: window. Use
this if you don't have Workbench 1.3 yet, or if you prefer to use
ConMan, or if you just don't want to use the NEWCON: device.
To run from the CLI:
--------------------
(Note: I use a stack of at least 10000 to run World. I seriously doubt that
this is actually necessary, but since I didn't write World, I don't really
know its stack requirements. It's never crashed on me with the default stack
of 4000. I feel safer using a large stack, though.)
Only the files World and q1text.dat are required.
1>run World [-n][-c][-i][-N] [datafile]
Options:
-n Uses a NEWCON: window so you can use the arrow keys to scroll
through previous commands, correct typing errors, etc. This is
the default.
-c Uses a CON: window. Use this option if you do not have Workbench
1.3 installed, or if you prefer to use conman, or if you simply
don't want to use NEWCON:.
-i For an interlaced workbench screen. Opens a 640 by 400 window.
-N For a non-interlaced workbench screen. Opens a 640 by 200
window. This is the default.
datafile Optional. Default is q1text.dat. Included so that you can copy
q1text.dat to ram: and specify ram:q1text.dat on the command
line. Since World accesses q1text.dat throughout the game, this
speeds up the game considerably.
Porting:
--------
Porting to the Amiga only required recompiling on the Amiga. To do the
window and workbench stuff, the file 'wbstuff.c' was added, and a few lines
were added to 'world.c' and a few to helper.c. Don't worry about the messages
about things overriding library symbols. It's supposed to do that. The
lines added to 'world.c' and 'helper.c' are enclosed in
#ifdef AMIGA
#endif
so it can be easily moved to another computer. Simply don't include the file
'wbstuff.c' if you port it to another computer.
Enjoy,
Eric Kennedy ejkst@cisunx.edu
1520 James St.
Monroeville, PA 15146
(412) 823-5165
original README follows...
------------------------------------------------------------------
This is the portable "C" version of my text adventure game "WORLD".
It is a large game in the flavor of Adventure or Zork, and about as large.
It is, however, a "sci-fi" type game somewhat like the commercial
Infocom games "Planetfall" or "Starcross", but much larger.
The code is written to be quite portable. However, it does make a few
assumptions. These are:
1. Seven bit ASCII
2. short int is at least 16 bits
3. It MAY assume 2's complement arithmetic; I'm not sure.
4. the read and write IO routines have to work for a second
argument which is a pointer to short
If your computer doesn't conform to those requirements, the program
"vtxtcn" and the routine "speak" in "helper.c" will most definately
need to be rewritten. There may be other problems as well, particularly
if your machine sets the high bit of a char.
The program has been tested and compiles and runs properly on the following
systems:
1) VAX/VMS Digital CC compiler. No particular tricks are needed.
2) IBM PC-AT Xenix 1.00. It seems to be necessary to use the large
memory model, although I'm not sure why since it runs on the
same machine under DOS in the small model.
3) IBM PC under Microsoft C version 4.00. It works in the default
small memory model if you compile with the -Os switch. Note
that on this setup you MUST link the main program World with
binmode.obj, provided by Microsoft, for it to work right.
Vtxtcn and vcnvrt must NOT be linked with binmode.obj.
This compiler generates a few harmless warning messages.
You may need to use EXEMOD to increase the stack size.
4) VAX/4.3bsd Unix. No particular tricks needed.
Instructions for generating world:
Once you have unpacked all the files, compile (and link if necessary)
the preprocessor "vtxtcn.c". Then execute it. It will create a few
.inc files and the run-time text base file "q1text.dat".
Then compile, (link) and execute "vcnvrt.c". It will generate more
.inc files.
These .inc files generate the actual game data which is compiled
into the final game program "world".
The main program, which contains seven files world.c, demons.c, helper.c,
motion.c, parser.c, verbs1.c and verbs2.c is then compiled and,
if necessary on your machine, linked. See above for possible special
switches or link files for your machine. Special handling probably
is not necessary for un-segmented Unix machines. Edit the file helper.c
to change the pathname for the data file (q1text.dat), if desired.
The output of the above compilation process is the game program
which should be named "world". It and "q1text.dat" are all that is
necessary to run the game. The game generates save-position files called
"world.sav".
A note on the file q1text.dat: this file is written as an array of
shorts, rather than chars. It is so arranged, however, that if it is
in fact considered as bytes, there are absolutely linefeeds or
carriagereturns sent to it. Thus on a record oriented machine like the
VAX/VMS, it is a single record. On the IBM-PC/DOS, no conversion from
lf to lf/cr or vice versa is ever required. Save files, on the other
hand, may accidentally contain any control characters, so on a system
like DOS in which the normal text mode does conversions of lf to lf/cr
pairs you must use the special binary mode. None of these considerations
should apply to Unix.
Bugs: There are no known bugs. However, some are certain to show up if
it is compiled on different machines, or if players exercise parts
of the code I haven't frequently played with. Please send them to me.
There are Fortran versions of this game for the VAX, PDP-11, IBM-PC, and
Apple Macintosh which implement a niftier user interface than this version.
They will appear eventually (but not in source code) on various bulletin
boards. The Mac version features the full Mac interface.
No claim is made to the effect that this program is an example of "good"
programming practice, whatever that may be. In particular, anyone
who can untangle the spaghetti in scan() will be awarded 8 assorted kazoos
and 4 Bronx cheers.
Please don't cheat by reading the text file!
Cheating by reading the code is only slightly more cowardly!
Doug Mcdonald
Department of Chemistry
University of Illinois
Urbana Ill. 61801
address: mcdonald@uiucuxe